package com.yuran.ranCloud.service;

import java.io.IOException;
import java.util.List;
import com.yuran.ranCloud.domain.RanCloudFiles;

/**
 * 云盘文件Service接口
 * 
 * @author yuran
 * @date 2023-11-23
 */
public interface IRanCloudFilesService 
{
    /**
     * 查询云盘文件
     * 
     * @param fileId 云盘文件主键
     * @return 云盘文件
     */
    public RanCloudFiles selectRanCloudFilesByFileId(Long fileId);

    /**
     * 查询云盘文件列表
     * 
     * @param ranCloudFiles 云盘文件
     * @return 云盘文件集合
     */
    public List<RanCloudFiles> selectRanCloudFilesList(RanCloudFiles ranCloudFiles);

    /**
     * 新增云盘文件
     * 
     * @param ranCloudFiles 云盘文件
     * @return 结果
     */
    public int insertRanCloudFiles(RanCloudFiles ranCloudFiles);

    /**
     * 修改云盘文件
     * 
     * @param ranCloudFiles 云盘文件
     * @return 结果
     */
    public int updateRanCloudFiles(RanCloudFiles ranCloudFiles);

    /**
     * 批量删除云盘文件
     * 
     * @param fileIds 需要删除的云盘文件主键集合
     * @return 结果
     */
    public int deleteRanCloudFilesByFileIds(Long[] fileIds);

    /**
     * 删除云盘文件信息
     * 
     * @param fileId 云盘文件主键
     * @return 结果
     */
    public int deleteRanCloudFilesByFileId(Long fileId);

    /**
     * 查询真实文件路径
     */
    public List realFilesQuery(String filePath) throws IOException;

    /**
     * 真实创建文件夹
     */
    public boolean realCreateFile(String filePath);

    /**
     * 真实删除文件
     */
    public boolean realDeleteFile(String filePath);


}
